Filter

Sie können einen besonderen Abfragetyp namens „Filterabfrage“ erstellen. Während Standardabfragen zum Anzeigen von Listen mit Informationen aus Ihrer Datenbank verwendet werden, können Filterabfragen Folgendes leisten:

  • die Werte einschränken, die den Benutzern an bestimmten Stellen zur Verfügung stehen
  • eine Liste anzeigen, die auf der Basis eines Werts gefiltert ist, der automatisch zur Laufzeit bestimmt wird.

Wenn Sie beispielsweise eine Registerkarte zum Incident-Fenster hinzufügen möchten, um die zu einem Incident hinzugefügten Notizen anzuzeigen, können Sie dies auf zweierlei Weise tun:

  • in Form einer Sammlung, die ALLE Notizen anzeigen würde, die zum Incident hinzugefügt wurden, oder
  • in Form eines Filters, der nur diejenigen Notizen anzeigt, die von dem Benutzer zum Incident hinzugefügt wurden, der den Incident erstellt hat.

Weitere Informationen zum Hinzufügen solcher Registerkarten zu einem Fenster finden Sie unter Sammlungen.

In der nachstehenden Tabelle sind die wesentlichen Unterschiede zwischen Standardabfragen und Filterabfragen aufgeführt:

Standardabfragen

Filterabfragen

Die Filterkriterien, die Sie auswählen, stammen aus dem Geschäftsobjekt, auf dem die Abfrage basiert.

Sie können das Objekt wählen, von dem Sie die Filterkriterien auswählen.

Kriterien müssen auf absolute Werte gesetzt werden, entweder zum Zeitpunkt Ihrer Erstellung oder zur Laufzeit, indem der Benutzer zur Eingabe des erforderlichen Werts aufgefordert wird.

Kriterien können entweder auf einen absoluten Wert oder auf einen Laufzeitwert eingestellt werden.
Bei einer Liste von Incidents könnten Sie beispielsweise ein absolutes Kriterium Benutzer Ist Gleich David definieren, um eine Liste der Incidents zu erhalten, bei denen David der Benutzer ist. Sie könnten aber auch ein Laufzeitkriterium Benutzer Ist Gleich (Ersteller) definieren, um eine Liste von Incidents für denjenigen Benutzer zu erhalten, der den aktuellen Incident erstellt hat.

Kann Gruppierungen enthalten.

Kann keine Gruppierungen enthalten.

Filterabfragen werden typischerweise wie folgt eingesetzt:

  • zum Filtern von Daten auf verknüpften Objekten im Objekt Designer;
  • als Registerkarten für Fensterdesigns, die Listen von Informationen bereitstellen, die sich auf ein Attribut im Fenster beziehen.

Weitere Informationen zum Filtern von Daten auf verknüpften Objekten im Objekt Designer finden Sie unter Daten filtern.

Das nachstehende Verfahren beschreibt, wie ein Filter erstellt wird, den Sie als Registerkarte auf dem Incident-Fenster hinzufügen können, auf der nur diejenigen Notizen zum Incident angezeigt werden, bei denen der Ersteller demjenigen für den Incident entspricht. Für diesen Filter gibt es zwei Bedingungen:

  • der Incident auf dem Notiz-Objekt Ist Gleich dem Incident, der im Fenster angezeigt wird;
  • der Ersteller auf dem Notiz-Objekt Ist Gleich dem Ersteller auf dem Incident-Objekt.

Zunächst werden vom Filter alle Notizen im Incident Management-Modul ausgewählt. Die erste Bedingung filtert dann diejenigen Notizen heraus, die zum ausgewählten Incident hinzugefügt wurden, und die zweite Bedingung diejenigen Notizen, bei denen der Ersteller dem Ersteller des Incidents entspricht.

So erstellen Sie einen Filter:
  1. Klicken Sie in der Liste Aktionen des Query und Report Designers auf Neuer Filter.
    Das Dialogfeld „Neuer Filter“ wird aufgerufen.
  2. Geben Sie einen Titel und eine Beschreibung für den Filter ein.
  3. Wählen Sie in der Gruppe Basiert auf das Modul und das Geschäftsobjekt, das die Daten enthält, die in der Liste erscheinen sollen.
    In unserem Beispiel wählen Sie Incident-Management und Notiz, denn wir möchten eine Liste mit Informationen zu den Notizen anzeigen.
  4. Wählen Sie in der Gruppe Filtern nach das Modul und das Geschäftsobjekt zu dem Objekt, das den Wert enthält, nach dem die Liste gefiltert werden soll. Dies ist dann das Objekt, auf dem das Fenster aufbaut.
    In unserem Beispiel wählen Sie Incident-Management und Incident, denn wir möchten nach dem Incident und dem Wert für den Ersteller auf dem Incident filtern.
  5. Klicken Sie auf das Optionsfeld Alle und dann auf OK.
    Der Filter Designer wird aufgerufen, ähnlich wie beim standardmäßigen Query und Report Designer.
  6. Fügen Sie die Attribute hinzu, die in der Liste erscheinen sollen und klicken Sie dann auf Weiter.
    Die Seite „Kriterien“ wird angezeigt. Wenn wir keine Kriterien definieren, zeigt der Filter ALLE Notizen im Incident-Management-Modul an.
  7. Ziehen Sie das Attribut für das erste Filterkriterium vom Baum Attribute auf die Liste Aktuelle Kriterien.
    Zunächst wollen wie nur diejenigen Notizen anzeigen, die mit dem angezeigten Incident verknüpft sind, also ziehen Sie die Incident-Beziehung () auf die Liste Aktuelle Kriterien.
    Das Dialogfeld „Kriterien“ wird geöffnet. Wir möchten den aktuellen Incident verwenden, daher müssen wir einen Laufzeitwert angeben, keinen absoluten Wert.
  8. Klicken Sie auf Laufzeitwert angeben.
    Das Dialogfeld „Kriterien“ wird aktualisiert.

Denken Sie daran, dass die verfügbaren Werte in diesem Dialogfeld auf Incident-Management\Incident basieren – dem Wert, auf dessen Basis wir filtern wollen, d. h. wir müssen hier keine Auswahl treffen. Wie möchten nach dem Wert auf der obersten Ebene filtern: Incident

  1. Klicken Sie auf OK.
    Die Liste „Aktuelle Kriterien“ wird aktualisiert und zeigt jetzt Incident Ist Gleich (Incident). Das heißt, der Incident auf der Notiz stimmt mit dem Incident überein, der im Fenster angezeigt wird.
  2. Ziehen Sie das nächste Attribut, für das Sie ein Kriterium angeben wollen, auf die Liste Aktuelle Kriterien.
    In diesem Beispiel verwenden Sie das Attribut Ersteller.
    Das Dialogfeld „Kriterien“ wird geöffnet.

Beachten Sie, dass sich dieses Kriteriendialogfeld vom vorherigen unterscheidet, da Sie anhand eines Attributs auf dem Incident filtern und nicht auf der Basis des Incidents selbst.

  1. Wählen Sie in der Gruppe Vergleichswert die Option Laufzeitwert angeben.
    Das Steuerelement „Wert“ ändert sich von einem Listenfeld, in dem Sie einen absoluten Wert angeben können, in einen Baum, in dem Sie einen Wert angeben können, der zur Laufzeit bestimmt wird. Die in diesem Baum verfügbaren Werte stammen von dem Objekt, das Sie zuvor im Dialogfeld „Neuer Filter“ in der Gruppe „Filtern nach“ ausgewählt haben.
  2. Wählen Sie im Baum Wert das Attribut aus, dessen Laufzeitwert Sie zum Vergleich mit der Filterbedingung verwenden möchten und klicken Sie dann auf OK.
    In diesem Beispiel verwenden Sie das Attribut Ersteller.
    Die Liste der aktuellen Kriterien wird aktualisiert.
  3. Klicken Sie auf und dann auf Fertig stellen.

In unserem Beispiel lauten die Filterkriterien Incident Ist Gleich (Incident) und Ersteller Ist gleich ( Ersteller ). Da der Filter auf Incident-Management\Notiz basiert, aber anhand von Incident-Management\Incident gefiltert wird, sind diese Kriterien erfüllt (Wahr), wenn der Incident auf der Notiz mit dem Incident übereinstimmt, der im Fenster angezeigt wird, und wenn der Ersteller auf der Notiz mit dem Ersteller auf dem aktuellen Incident übereinstimmt.
Wird dieser Filter mit dem Abfrage-Steuerelement zu einem Incident-Fenster hinzugefügt (siehe Abfragen zu einem Fenster hinzufügen), wird eine Registerkarte unterhalb des Fensters erstellt, auf der alle Notizen aufgelistet sind, die mit dem Incident verknüpft sind, die denselben Ersteller aufweisen wie der Incident.